/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package solicitacaoCompra;

import java.util.List;
import util.ErroAcessoRepositorioException;

/**
 *
 * @author Alberto
 */
public class CadastroSolicitacaoCompra {
    
    private RepositorioSolicitacaoCompra objRepositorioSolicitacaoCompra = null;

    public CadastroSolicitacaoCompra(RepositorioSolicitacaoCompra objRepositorioSolicitacaoCompra) {
        this.objRepositorioSolicitacaoCompra = objRepositorioSolicitacaoCompra;
    }

    public void CadastroSolicitacaoCompra(RepositorioSolicitacaoCompra objRepositorioSolicitacaoCompra) {
        this.objRepositorioSolicitacaoCompra = objRepositorioSolicitacaoCompra;
    }

     /**
     * Método que ira cadastrar / atualizar o objeto Solicitacao compra
     * 
     * @param objSolicitacaoCompra
     * @throws ErroAcessoRepositorioException 
     */
    public void cadastrarAtualizar(SolicitacaoCompra objSolicitacaoCompra) throws ErroAcessoRepositorioException{
        this.objRepositorioSolicitacaoCompra.cadastrarAtualizar(objSolicitacaoCompra);
    }
    
    /**
     * Método que ira procurar na base um objeto solicitação compra pelo seu id
     * 
     * @param idSolicitacaoCompra
     * @return  SolicitacaoCompra
     * @throws ErroAcessoRepositorioException
     */
    public SolicitacaoCompra procurar(int idSolicitacaoCompra) throws ErroAcessoRepositorioException{
        return this.objRepositorioSolicitacaoCompra.procurar(idSolicitacaoCompra);
    }
    
    /**
     * Método que ira verificar a existencia na base um objeto solicitação compra pelo seu id
     * 
     * @param idSolicitacaoCompra
     * @return  boolean
     */
    public boolean existe(int idSolicitacaoCompra){
        return this.objRepositorioSolicitacaoCompra.existe(idSolicitacaoCompra);
    }
    
    /**
     * método que ira listar os objetos na base
     * @param strComplemento
     * @return  List<SolicitacaoCompra>
     */
    public List<SolicitacaoCompra> listar(String strComplemento){
        return this.objRepositorioSolicitacaoCompra.listar(strComplemento);
    }
    
    /**
     * 
     * @param idSolicitacaoCompra 
     */
    public void remover(int idSolicitacaoCompra)throws Exception{
        this.objRepositorioSolicitacaoCompra.remover(idSolicitacaoCompra);
    }
    
    /**
     * método que ira listar as solicitações ativas e que não houveram compras para as mesmas na base
     * @param strComplemento
     * @return  List<SolicitacaoCompra>
     */
    public List<SolicitacaoCompra> listarAtivasNaoComppradas(){
        return this.objRepositorioSolicitacaoCompra.listarAtivasNaoComppradas();
    }
    
    /**
     * método que ira listar os objetos na base
     * @param strComplemento
     * @return  List<SolicitacaoCompra>
     */
    public List<SolicitacaoCompra> listarPordescricaoProduto(int intDescricaoProduto){
        return this.objRepositorioSolicitacaoCompra.listarPordescricaoProduto(intDescricaoProduto);
    }
}
